The cooperative synchronized networks idea stems from the principle of having a synchronization on the physical layer of a given mesh network, be it via wavelength-level phase synchronization, or via a more easily achievable implementation with synchronization at bit-level in order to enable deployment on existing industry-standard design targets.
Known in the art are contention-enabled technologies such as Zigbee™, for example.
Bit-synchronized networks are a special case of antenna diversity found in phased array radar, for example, with less timing constraint, which is enough for ensuring minimal interference between simultaneous packet transmission of multiple node neighbours, the imperfection due to phase delay and multi-path fading being accounted for by FM capture effect. It is very seldom considered as a solution outside of the theoretical realm, and is often only tested in small scale settings where long range delay interference are minimal, or assessed in a pure simulated framework. For instance, the Glossy implementation using DSSS transceivers do this in a setting within a physical boundary that is less than the path delay threshold for which bit-synchronization fails. Extension of the principle to situations where pure bit-synchronization fails, i.e. when path delays exceed the threshold for proper bit synchronization (such a timing threshold can be defined as corresponding to the 1/(2*bit-rate)) using a fallback mechanism has not been assessed in the current art literature.
Using such a network, the time taken for a given packet from a source node to flood the whole network can be precisely time-bounded, independently of the density of nodes deployed, in an ideal setting where bit-synchronization holds. This can be used to drastically lower the wake/sleep duty cycle of the network for a given data bandwidth in the case where high node density is required for operating the network. Discounting real-life limitation in synchronization clock precision, the power consumption is in a direct relationship with said duty cycle, and thus can linearly scale down as low as the duty cycle permits.
However, in a real-life implementation setting, the maximum duty cycle is bounded to the worst-case clock tolerances in the manufactured mesh network nodes. As current technology typically allows for clock tolerances between 10 and 100 ppm, this implies that each node clock has to be corrected by a coordinator node in order to correct clock drift periodically in order to maintain the tight tolerances needed for bit-synchronization a medium speeds (for instance, in the order of a few microseconds in the case of a FHSS network at bit-rates in the order of kilobits/sec, and less than 1 microsecond if one were to use a DSSS network such as what is found in IEEE 802.15.4 radio technology). Clock synchronization is a known problem for distributed radio transceiver networks. It is however specially critical in the case of bit-synchronized cooperative networks.
Not only must the network have a coordinator node with a reference clock in order to broadcast timing information to the rest of the nodes (be it in a direct or indirect fashion), called in-band clock synchronization, but there must also be a safety mechanism in order to ensure that a given node is awake when this synchronization broadcast arrives. Thus, a safety guard time is usually added in the wake schedule time of any node in order to ensure this. In the case of regular contention-enabled mesh networks, this guard time has to include the effects of all the following: clock tolerances (drift and jitter), broadcast flood non-linear propagation worst-case time with respect to network size and density, number of retries allowed, etc. and is an ongoing subject of research due to the complexity of contention-enabled broadcast packet propagation.
In the case of a bit-synchronized network, this guard time can be typically linked to the chosen clock manufacturing tolerances. Thus, the state of the art dictates that the minimum safe duty cycle will be limited to the chosen clock relative tolerance (for example, T=1000 ppm internal RC oscillator: oscillator tolerance T, desired interval between wake cycles: X sec). Idealized broadcast interval without synchronization guard time: Y sec. Idealized duty cycle (a typical configuration parameter) defined as D=Y/X. The required guard time per broadcast cycle is X*T. Real duty cycle is thus R=(Y+X*T)/X=Y/X+T=D+T. Thus, asymptotic case where D tens to zero, we have minimum duty cycle limited to R=T. Thus, in order to accommodate low effective duty cycles, one has to typically use higher-cost crystals, a combination of multiple crystals. This also limits the hardware platforms onto which a cooperative bit-synchronized mesh network can be deployed, and legacy retrofitting is usually impossible, and design required dedicated hardware platforms, lest one needs to cope with less efficient minimum network power consumption, a trade-off that can be unacceptable for long-range, high RF power, long-lasting, low power consumption applications, such as in high-interference locations such as large forest deployments.
The alternate method for network-wide clock synchronization is using out-band methods in order to avoid the clock tolerance problem, such as using GPS time base from a GPS unit installed per-node, with implied hefty penalties in node cost, due to raw hardware cost as well as increased integration complexity.
The conventional FSK or FSK-like mesh network node electronic design architecture is typically the following: RF node front-end (typically a general purpose RF ASIC with analog front-end circuitry for both transmitter and receiver with a dedicated clock in order to generate local oscillator-derived signals, said ASIC being linked to a “mesh controller” processing unit which contains glue logic interfaces (such as UART, SPI, I2C, CAN, MODBUS etc.) to a host processing unit which is customized according to specific implementation. Thus, there is usually the need for at least 3 dedicated ICs per sensor node, and that is discounting supplementary glue logic circuitry to external sensors in order to link them to said host processing unit. A supplementary technical challenge when employing cooperative bit-synchronized networks is that timing is key, and thus, for single core processors employed as mesh controllers, all interrupts must be typically be deactivated before a timing-critical operation (such as a packet transmit begin trigger signal) occurs. In other terms, running of parallel user-code can possibly jeopardize mesh synchronization integrity between nodes, depending on whether user-code execution overflows into the time slots dedicated for broadcast cycles. This is why current solutions usually employ a supplementary processor core dedicated to user firmware.
Work on optimizing and leveraging a cooperative bit-synchronized network using flooding broadcasts as the sole and prime mechanism of communication has been limited to standard master-slave polling methodologies, where a master (by default, the node chosen as being the coordinator node) polls a node, waits for its answer, then polls the next one in an arbitrary order often predefined from a configuration database (the most known of which is standard round-robin). Moreover, network transit of sensor data, industry-standard mesh networks, is usually limited to collection at the coordinator node location, the synchronization of said collected data to other clients being done using external networks such as IP, telephony or satellite-based networks. A typical example would be a sensor collection system which will have users bound to a mobile device with access to cellular or satellite infrastructure if those users need their sensor data while roaming in the field. Indeed, in a practical setting, transit of whole network data cannot be feasibly sent to another client node using the same mesh network without heavy power consumption penalties, because for each client, the sensor typically has to actively send the whole of its collected data with said client device using direct client MAC addressing (analogous to IEEE 802.15.4 unicast packet send methods). This is thus not practical in a power-sensitive setting such as for forestry applications, lest costly portable power sources or energy harvesting strategies be used at each deployed node location, because the total network power consumption is typically multiplied by the number of client devices required.
In addition, in a master-slave sensor architecture within a cooperative bit-synchronized mesh network as described above, the coordinator node typically sends a broadcast packet with flooding slotting information in order to time-bound the flooding process to a finite number of hops, and then the requested sensor node being polled or controlled sends back its answer in a similar fashion. This implies that in a whole broadcast flood phase (either “out”, i.e. from a coordinator node to the whole network, and “in”, i.e. from an end node back to said coordinator), only one data sub-packet can be flooded throughout the whole network at any given time (thus this is very different at the core than ad-hoc mesh routing strategies found within the convention IEEE802.15.4 physical stack). In the case that more than one end node attempt to flood back an answer throughout the whole network (if there are no multiple network operating on different RF channels or hop tables in the case of a FHSS system), either only one packet will reach back to the coordinator node, or even none of them depending on the mesh physical configuration.
This has a corollary: there must be some addressing mechanism put in place in order to ensure that during a broadcast “in” phase, only one end node answers. Typically, a MAC address (or any identification scheme that end nodes agree to) is send by the coordinator node embedded in the data sub-packet (this can be considered as being part of a ‘control” sub-frame in the higher protocol layers according to the OSI model). This means that by its very inception, an end node within such a network must wait for a specific gateway signal before being allowed to send back its data. In the case where a large quantity of nodes are deployed in the field, and for low wake-sleep duty cycles, the reaction time of a node degrades linearly with the number of nodes deployed, using a standard node-balanced polling scheme. This can cause problems when higher rates of polling for specific nodes are required when large networks are deployed that need to save energy in order to last longer.
Another corollary is that the communication is done by the very nature of the mesh network in a half-duplex fashion, and thus there will always be a minimal network overhead caused by the requirement of a packet from the coordinator node indirectly containing network sleep synchronization information as well as the request information outbound to a destination end-node. Due to the symmetrical nature of broadcast phases (i.e. phase “out” and phase “in” take the same time as they have to share the same maximum number of hops setting), there is a base information bandwidth reduction factor of 2 in the maximum network speed at which a select end-node can send back a stream of data.
Hence, in light of the aforementioned, there is a need for an improved system which, by virtue of its design and components, would be able to overcome some of the above-discussed prior art concerns.